<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
        1、说说 vue 内置指令

        01 v-text
            <span v-text="message"></span>
            等价于 
            <span>{{ message }}</span>

        02 v-html
            <div v-html="rawHtml"></div>
            与v-text类似，但会将数据作为HTML代码解析并输出

        03 v-show 

        04 v-if v-else v-elseif

        05 v-for

        06 v-on
            <button v-on:click="incrementCounter">点击我</button>
            或者
            <button @click="incrementCounter">点击我</button>

        07 v-bind

        08 v-model

        09 v-slot

        10 v-cloak

        2 为啥Vuex的mutation不能做异步操作
            若允许 可能无法跟踪状态的变化: 由于异步操作的执行时间不确定，如果允许在mutation 中进行异步操作，可能无法准确追踪状态的变化
                                        由于无法确定异步操作什么时候完成，状态变更无法及时通知组件更新
                                        在 action里面可以适时通知


        7、怎样理解 vue 的单项数据流？

            父级向子级传递数据
            子组件不能直接修改父组件的数据：为了保持数据的一致性和可追踪性，
            子组件不应该直接修改传入的 props。如果需要更新父组件的状态，应该通过事件机制通知父组件，$emit,由父组件决定如何处理这些更新请求

        8   computed 和 watch 的区别和运用的场景
                当你需要基于一个或多个响应式数据动态生成一个新的值，并且这个值会被频繁访问时。
                例如，格式化显示、过滤列表、组合对象等场景非常适合使用 computed。

                监听器 (watch) 用于观察特定的数据源（可以是响应式数据或表达式的结果），并在该数据源发生变化时执行异步操作或开销较大的操作。
                监听器更适合处理需要在数据变化后执行的操作，尤其是那些不需要即时反馈或者涉及复杂逻辑的情况

            特性/方面	    computed	    watch
            用途	    基于已有数据计算新值	监控数据变化并执行相应操作
            缓存	    是（基于依赖）	        否
            触发条件	依赖项变化	数据源变化
            性能	    更高效，适用于频繁访问	更灵活，适合执行异步任务
            应用场景	动态展示、简单计算	异步请求、复杂逻辑
    -->

    
</body>
</html>